SEATTLE — Russell Wilson hit Jimmy Graham for an 18-yard touchdown with 21 seconds left, his second TD catch of the fourth quarter.
Down 38-34 with 1:39 left and out of timeouts, Wilson took Seattle 80 yards in barely a minute. He hit Paul Richardson for 48 yards on a jump ball to start the drive, found Tyler Lockett for 19 yards, and drilled a strike to Graham for the 41-38 winner.
Wilson finished 26 of 41 for a career-high 452 yards and four TDs. He hit Richardson for two TDs and found Graham on a 1-yard TD pass with 5:41 left.
Deshaun Watson was nearly the equal of Wilson, throwing for 402 yards and four touchdowns. But the rookie couldn’t come up with a final answer and was intercepted by Richard Sherman with 7 seconds left on a desperation throw.
It was a stunning performance by Watson against one of the best defenses in the NFL — and an even better final rally by Wilson. Watson threw touchdown passes of 59 and 20 yards to Will Fuller, 2 yards to Lamar Miller, and a wide receiver screen that DeAndre Hopkins took 72 yards for a score with 5:01 left to give Houston a 38-34 lead.
Hopkins finished with eight receptions for 224 yards, while Fuller had five catches for 125 yards.
The day started with the majority of Houston’s roster kneeling during the national anthem in protest of owner Bob McNair’s “inmates running the prison” comment that emerged this past week. Only 10 of Houston’s active players stood for the anthem.
EAGLES 33, 49ERS 10
PHILADELPHIA — Carson Wentz tossed two touchdown passes, Jalen Mills had a pick-6 and the NFL-leading Philadelphia Eagles beat the winless San Francisco 49ers on a sloppy, rainy Sunday.
The Eagles (7-1) overcame a slow start on their way to a sixth straight win. The 49ers are 0-8 for the first time in franchise history.
Wentz was 18 of 32 for 211 yards and one interception. He threw a 53-yard TD pass to Alshon Jeffery and 1-yard TD pass to Zach Ertz. He leads the NFL with 19 TD passes, most by an Eagles quarterback through eight games.
C.J. Beathard shoveled a 21-yard TD pass to Matt Breida and finished 17 of 36 for 167 yards with two interceptions in his second career start.
The Eagles punted on six of their first eight possessions before opening it up in the third quarter.
Wentz hit Jeffery with a perfect pass to extend the lead to 27-7. After Derek Barnett blocked Robbie Gould’s field goal, the Eagles drove 62 yards and LeGarrette Blount ran in from the 12 for a 33-7 lead.
The 49ers lost five straight games by a field goal or less before Dallas routed them 40-10 last week.
They stayed close until Wentz’s TD pass to Ertz was followed by Mills’ interception. Mills picked Beathard’s pass at the 37 and ran it back, zig-zagging his way to the end zone. Wentz connected with Jeffery on a 2-point conversion to make it 17-0.
VIKINGS 33, BROWNS 16
LONDON — Case Keenum threw for two touchdowns and Kai Forbath made four field goals in the last of four games held this season in Britain.
Adam Thielen had five catches for 98 yards and a touchdown for the NFC North-leading Vikings (6-2), who trailed 13-12 at halftime — the first time the Browns, 0-8 for the second consecutive year, claimed a mid-game lead this season.
Cleveland, without starting left tackle Joe Thomas for the first time since 2006, scored first, taking a 6-0 lead on its second play from scrimmage before kicker Zane Gonzalez’s missed extra point. Middle linebacker Joe Schobert’s interception return to the Vikings’ 37-yard line led to an 11-yard reception by David Njoku and a 26-yard touchdown run by Isaiah Crowell.
A 1-yard run by rookie quarterback DeShone Kizer with 40 seconds remaining in the half helped overcome Forbath’s first field goal and an 18-yard touchdown reception by Thielen to push Cleveland’s lead to 13-9.
Forbath ended the half with a 34-yard attempt to make it 13-12, then scored first in the third quarter when a fumble by Crowell set up a 43-yarder.
Although Gonzalez’s 23-yard field goal restored the Browns’ lead at 16-15, the Vikings scored 18 unanswered points: a 1-yard touchdown run by Jerick McKinnon — and McKinnon’s 2-point conversion — as well as a 5-yard touchdown reception by tight end Kyle Rudolph and, with 1:14 remaining, Forbath’s final field goal.
COWBOYS 33, REDSKINS 19
LANDOVER, Md. — Ezekiel Elliott ran for 150 yards and two touchdowns and the Cowboys took advantage of a blocked field goal return and three turnovers.
Playing in a driving rainstorm that made it difficult to hold onto the ball, let alone throw it, Dak Prescott completed 14 of his 22 passes for 143 yards as Dallas (4-3) heeded the message on Elliott’s cleats to “Feed Zeke.” With another hearing on his NFL suspension coming Monday, Elliott carried the ball 33 times, scored twice for the second consecutive game, and surpassed 100 yards for the third week in a row.
The game turned in the second quarter when Dallas’ Tyrone Crawford blocked Nick Rose’s field goal attempt and Orlando Scandrick returned it 86 yards to set up a 1-yard Elliott TD run. Instead of the Redskins (3-4) leading 16-7, the Cowboys went up 14-13 and never trailed again.
Washington QB Kirk Cousins lost one fumble and kick returner Chris Thompson lost another.
PATRIOTS 21, CHARGERS 13
FOXBOROUGH, Mass. — Tom Brady passed for 333 yards and a touchdown, Stephen Gostkowski added four field goals. It was the fourth straight victory for the Patriots (6-2). The loss snapped a three-game win streak for the Chargers.
Los Angeles (3-5) got on the board first when Melvin Gordon found a seam on the outside and rumbled down the sideline for an 87-yard touchdown run. But the rest of the game was marked by Los Angeles’ mistakes and inability to move the ball offensively.
New England got its lone touchdown via a 2-yard toss from Brady to Rob Gronkowski in the second quarter. The Patriots went 1 for 4 in the red zone, but were able to cobble together the Gostkowki field goals and a safety.
The Chargers cut the Patriots’ lead to 18-13 with 8:30 to play following a 24-yard touchdown pass from Philip Rivers to Travis Benjamin and failed 2-point conversion pass. They got the ball back a final time after New England added Gostkowski’s fourth field goal. But Rivers’ pass with 1 second remaining was intercepted at the goal line by Jonathan Jones.
BILLS 34, RAIDERS 4
ORCHARD PARK, N.Y. — Rookie linebacker Matt Milano scored on a 40-yard fumble return on a rain-slick field, and the Bills forced four turnovers.
Tyrod Taylor threw a 6-yard touchdown pass to Andre Holmes and also scored on a 1-yard run for Buffalo. LeSean McCoy had a season-best 151 yards rushing and also scored on a 48-yard run.
The Bills improved to 4-0 at home for the first time since winning their first five home games of the 1995 season.
And Buffalo improved to 5-2, matching its best start during a 17-year postseason drought — the longest active streak in North America’s four major professional sports.
The Bills’ defense dominated despite missing two starting backs, and two days after trading its highest-priced player, defensive tackle Marcell Dareus, to Jacksonville.
Milano, playing in place of injured starter Ramon Humber (broken right thumb), scored the go-ahead touchdown, putting Buffalo up 14-7, with 32 seconds left in the first half. DeAndre’ Washington caught a short pass over the middle and turned up field when he was struck by cornerback Leonard Johnson. The ball popped loose and flew directly into the hands of Milano, who returned it up the right sideline.
FALCONS 25, JETS 20
EAST RUTHERFORD, N.J. — Matt Ryan threw two touchdown passes and the Falcons slipped and slid to victory on a soggy field.
Fumbled snaps, dropped passes and a big-time drenching at MetLife Stadium had both squads trying to find their footing, but the Falcons (4-3) steadied themselves just enough to snap a three-game skid — all to other AFC East teams.
Austin Hooper and Mohamed Sanu each caught touchdown passes from Ryan, who finished 18 of 29 for 254 yards. The Falcons quarterback had lots of trouble with the weather, fumbling four snap exchanges from center Alex Mack and losing two.
The Jets (3-5) had their own issues while losing their third straight. Josh McCown had a bad snap exchange and fumbled on another play — but recovered — and Jeremy Kerley had a costly muffed punt.
McCown finished 26 of 33 for 257 yards with touchdown passes to Robby Anderson and Eric Tomlinson.
SAINTS 20, BEARS 12
NEW ORLEANS — Drew Brees completed 23 of 28 for 299 yards against a Bears defense that ranked sixth in pass defense for the Saints’ fifth straight win.
Mark Ingram and Alvin Kamara each ran for touchdowns for New Orleans (5-2). Ingram finished with 99 yards from scrimmage, including 75 on the ground, but his two late fumbles kept the Bears in the game into the final minutes. Kamara had 76 yards from scrimmage, 48 receiving.
The Saints were threatening to score twice in the fourth quarter when the Bears stripped the ball from Ingram. Chicago converted the first fumble into its only touchdown with 3:43 to go on Tarik Cohen’s short dive over a pile of players at the goal line. The second turnover occurred with a little more than two minutes left on the Bears 30, but Chicago was unable to get a first down as rookie Mitchell Trubisky’s fourth-and-1 pass fell incomplete.
Chicago (3-5) had one more chance to tie after Wil Lutz’s 49-yard field goal with 1:35 left, but an interception by Saints rookie cornerback Marshon Lattimore ended that threat.
BENGALS 24, COLTS 23
CINCINNATI — Lineman Carlos Dunlap batted Jacoby Brissett’s pass into the air, grabbed the ball and ran 16 yards to the end zone for a game-turning touchdown.
The defensive end excels at swatting away passes — he led NFL linemen last season — and changed the game with his third career score.
The Bengals (3-4) couldn’t protect Andy Dalton or get much pressure on Jacoby Brissett, who was sacked 10 times during a 27-0 loss to Jacksonville the previous week — the first time Indianapolis was blanked in 15 years.
Brissett’s second touchdown pass had put the Colts (2-6) in position for a soothing road win.
Instead, Dunlap snatched it away with 6:58 left, putting Cincinnati ahead to stay in a game featuring four lead changes. The Colts drove to a fourth-and-4 at the Cincinnati 48-yard line, and Brissett was hit as he threw an incompletion with 1:18 to go.
Dalton was 17 of 29 for 243 yards with a pair of touchdowns. The Bengals’ running game had little success against a defense that allowed the Jaguars to score on their first four possessions a week earlier, managing only 58 yards.
Colts tight end Jack Doyle had 12 catches for 121 yards, including a 13-yard touchdown.
Adam Vinatieri kicked three field goals for the Colts and moved into a tie with Gary Anderson for second-most points in NFL history with 2,434.
PANTHERS 17, BUCCANEERS 3
TAMPA, Fla. — Carolina’s defense didn’t allow a TD for the second straight week, helping the Panthers snap a two-game losing streak.
Cam Newton rebounded from a subpar performance in a 14-point road loss to the Bears, leading a 17-play, 82-yard TD drive that consumed more eight minutes of the opening quarter. He then completed three passes to Christian McCaffrey to set up a field goal for a 10-0 halftime lead.
The Bucs (2-5) have lost four straight.
The Panthers put the game away in the fourth quarter, intercepting Jameis Winston twice, with Mike Adams’ pick leading to Newton’s 25-yard TD pass to Kelvin Benjamin to make it 17-3.
Carolina’s defense picked up where it left off in only allowing three points against Chicago, which returned a fumble and interception for the only touchdowns in a 17-3 victory that knocked the Panthers (5-3) out of first place in the NFC South.
The Panthers forced three turnovers by Winston, limiting the Bucs to Patrick Murray’s 41-field goal in the third quarter.
STEELERS 20, LIONS 15
DETROIT — JuJu Smith-Schuster scored on a 97-yard touchdown pass from Ben Roethlisberger late in the third quarter and the Pittsburgh Steelers forced the Detroit Lions to turn the ball over on downs twice in a 20-15 win Sunday night.
The AFC North-leading Steelers (6-2) go into their bye week with a three-game winning streak.
Detroit (3-4) was coming off its bye and lost a third straight and fourth in five games.
Pittsburgh’s defense put up a curtain in front of it end zone, forcing the Lions to settle for field goals. When they went for touchdowns, the Steelers stopped them.